package com.wzdigit.wms.basic.client.response.transfer;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 转仓接收-详细
 * 
 * @author yangdongjie
 * @TrsnHeaderPagerResponse.java
 * @2021年1月25日下午3:32:55
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler", "fieldHandler" }, ignoreUnknown = false)
public class TransferHeaderResponse implements Serializable {

	private static final long serialVersionUID = -637645373271702828L;

	/**
	 * 调拨单表头ID
	 */
	@ApiModelProperty(value = "调拨单表头ID", required = true)
	private Integer transferHeaderId;

	/**
	 * 调拨单号
	 */
	@ApiModelProperty(value = "调拨单号", required = true)
	private String transferNo;

	/**
	 * 来源仓库
	 */
	@ApiModelProperty(value = "来源仓库", required = true)
	private String fmWhsName;
	
	/**
	 * 来源仓库ID
	 */
	@ApiModelProperty(value = "来源仓库ID", required = true)
	private Integer fmWhsId;

	/**
	 * 目标仓库
	 */
	@ApiModelProperty(value = "目标仓库", required = true)
	private String toWhsName;
	
	/**
	 * 目标仓库ID
	 */
	@ApiModelProperty(value = "目标仓库ID", required = true)
	private Integer toWhsId;

	/**
	 * 车牌号
	 */
	@ApiModelProperty(value = "车牌号", required = true)
	private String deliveryVehicleNo;

	/**
	 * 司机
	 */
	@ApiModelProperty(value = "司机", required = true)
	private String driver;

	/**
	 * 创建、已码盘、部分收货、完全收货、订单取消、完成等状态
	 */
	@ApiModelProperty(value = "创建、已码盘、部分收货、完全收货、订单取消、完成等状态", required = true)
	private Integer status;

	/**
	 * 调拨单创建时间
	 */
	@ApiModelProperty(value = "调拨单创建时间", required = true)
	private Date transferCreateTime;

	/**
	 * 转仓数量
	 */
	@ApiModelProperty(value = "转仓数量", required = true)
	private BigDecimal orderQty;
	
	/**
	 * 完成数量
	 */
	@ApiModelProperty(value = "完成数量", required = true)
	private BigDecimal cmpQty;
	
	/**
	 * 转仓单明细SN集合
	 */
	@ApiModelProperty(value = "转仓单明细SN集合", required = true)
	private List<TransferDtlGoodsResponse> transferDtlGoodsList;
}
